Custom Toast Messages এবং Events

Web Development - বুটস্ট্রাপ (Bootstrap 5) - Bootstrap 5 এর Offcanvas এবং Toasts |

বুটস্ট্রাপ ৫-এ টোস্ট একটি ছোট, অটো-ক্লোজিং এলার্ট মেসেজ যা সাধারণত পেজের নিচের বা উপরের কোন এক কোনায় প্রদর্শিত হয়। এটি ব্যবহারকারীদের জন্য হালকা বা অস্থায়ী তথ্য প্রদানের জন্য উপযুক্ত। আপনি কাস্টম টোস্ট তৈরি করতে পারেন, যা সহজেই বিভিন্ন ইভেন্টের মাধ্যমে প্রদর্শিত বা লুকানো যেতে পারে।


কাস্টম টোস্ট তৈরি করা (Creating Custom Toasts)

বুটস্ট্রাপ ৫ এ toast ক্লাস ব্যবহার করে আপনি সহজেই কাস্টম টোস্ট তৈরি করতে পারেন। টোস্ট সাধারণত toast-header এবং toast-body ক্লাসের মাধ্যমে কনটেন্ট প্রদর্শন করে। আপনি চাইলে এই টোস্টে কাস্টম ক্লাস এবং স্টাইলও যোগ করতে পারেন।

উদাহরণ: কাস্টম টোস্ট

<!-- টোস্টের HTML -->
<div class="toast-container position-fixed bottom-0 end-0 p-3" id="liveToast">
  <div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
    <div class="toast-header">
      <strong class="me-auto">নোটিফিকেশন</strong>
      <button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
    </div>
    <div class="toast-body">
      আপনার পরিবর্তন সফলভাবে সেভ হয়েছে!
    </div>
  </div>
</div>

<!-- বুটস্ট্রাপ স্ক্রিপ্ট -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.bundle.min.js"></script>

এখানে:

  • toast-container: এটি টোস্টের ধারক (container) যেটি পজিশনফিক্সড করে সেটি পেজের নিচে ডানদিকে দেখাবে।
  • toast-header: এই অংশে টোস্টের শিরোনাম থাকে, যেমন "নোটিফিকেশন"।
  • toast-body: এখানে টোস্টের মূল কনটেন্ট থাকে, যেমন "আপনার পরিবর্তন সফলভাবে সেভ হয়েছে!"।
  • btn-close: এটি টোস্টটি বন্ধ করার বাটন।

টোস্ট শো এবং হাইড ইভেন্টস (Toast Show and Hide Events)

বুটস্ট্রাপ ৫ এ টোস্টের জন্য কিছু গুরুত্বপূর্ণ ইভেন্টস থাকে, যা ব্যবহারকারীর ইন্টারঅ্যাকশনের ভিত্তিতে টোস্ট প্রদর্শন বা লুকাতে সহায়তা করে। এই ইভেন্টগুলো ব্যবহার করে আপনি টোস্টের কার্যকলাপ কাস্টমাইজ করতে পারেন।

  • show.bs.toast: যখন টোস্ট শো হওয়ার প্রস্তুতি নেয় তখন এই ইভেন্টটি ট্রিগার হয়।
  • shown.bs.toast: টোস্ট যখন সফলভাবে শো হয়ে যায় তখন এই ইভেন্টটি ট্রিগার হয়।
  • hide.bs.toast: টোস্ট হাইড করার প্রস্তুতি নেওয়ার সময় এই ইভেন্টটি ট্রিগার হয়।
  • hidden.bs.toast: টোস্ট যখন পুরোপুরি হাইড হয়ে যায় তখন এই ইভেন্টটি ট্রিগার হয়।

উদাহরণ: টোস্ট ইভেন্টস

<button type="button" class="btn btn-primary" id="showToastBtn">টোস্ট দেখুন</button>

<!-- টোস্টের HTML -->
<div class="toast-container position-fixed bottom-0 end-0 p-3" id="liveToast">
  <div class="toast" role="alert" aria-live="assertive" aria-atomic="true">
    <div class="toast-header">
      <strong class="me-auto">নোটিফিকেশন</strong>
      <button type="button" class="btn-close" data-bs-dismiss="toast" aria-label="Close"></button>
    </div>
    <div class="toast-body">
      আপনার পরিবর্তন সফলভাবে সেভ হয়েছে!
    </div>
  </div>
</div>

<script>
  // টোস্ট ইনস্ট্যান্স তৈরি
  var toastEl = document.getElementById('liveToast');
  var toast = new bootstrap.Toast(toastEl);

  // টোস্ট দেখানোর জন্য বাটন ক্লিক ইভেন্ট
  document.getElementById('showToastBtn').addEventListener('click', function () {
    toast.show();
  });

  // ইভেন্ট লিসেনার: টোস্ট শো হওয়া
  toastEl.addEventListener('show.bs.toast', function () {
    console.log('টোস্ট শো হওয়ার প্রস্তুতি চলছে...');
  });

  // ইভেন্ট লিসেনার: টোস্ট শো হয়ে যাওয়ার পর
  toastEl.addEventListener('shown.bs.toast', function () {
    console.log('টোস্ট সফলভাবে শো হয়েছে!');
  });

  // ইভেন্ট লিসেনার: টোস্ট হাইড হওয়ার প্রস্তুতি
  toastEl.addEventListener('hide.bs.toast', function () {
    console.log('টোস্ট হাইড হওয়ার প্রস্তুতি চলছে...');
  });

  // ইভেন্ট লিসেনার: টোস্ট হাইড হয়ে যাওয়ার পর
  toastEl.addEventListener('hidden.bs.toast', function () {
    console.log('টোস্ট সফলভাবে হাইড হয়ে গেছে!');
  });
</script>

এখানে:

  • new bootstrap.Toast(): এটি টোস্ট ইনস্ট্যান্স তৈরি করে, যা পরে toast.show() অথবা toast.hide() দ্বারা কন্ট্রোল করা যায়।
  • addEventListener('show.bs.toast', function() {}): এটি টোস্ট শো হওয়ার পূর্বে ইভেন্ট ট্রিগার করতে ব্যবহৃত হয়।
  • addEventListener('shown.bs.toast', function() {}): এটি টোস্ট শো হওয়ার পর ইভেন্ট ট্রিগার করতে ব্যবহৃত হয়।
  • addEventListener('hide.bs.toast', function() {}): এটি টোস্ট হাইড হওয়ার পূর্বে ইভেন্ট ট্রিগার করতে ব্যবহৃত হয়।
  • addEventListener('hidden.bs.toast', function() {}): এটি টোস্ট হাইড হওয়ার পর ইভেন্ট ট্রিগার করতে ব্যবহৃত হয়।

কাস্টম টোস্টের অটো-ক্লোজ (Auto-Close)

আপনি চাইলে টোস্টটি অটো-ক্লোজ করানোর জন্য delay অপশন ব্যবহার করতে পারেন, যা টোস্টের প্রদর্শন সময় নির্ধারণ করে।

উদাহরণ: অটো-ক্লোজ টোস্ট

<script>
  // টোস্টের জন্য অটো ক্লোজ সেট করা
  var toast = new bootstrap.Toast(toastEl, {
    delay: 5000  // ৫ সেকেন্ড পর টোস্ট স্বয়ংক্রিয়ভাবে বন্ধ হবে
  });
  toast.show();
</script>

এখানে delay অপশনের মাধ্যমে আপনি টোস্টের প্রদর্শন সময় কাস্টমাইজ করতে পারেন। ৫০০০ মিলিসেকেন্ড (৫ সেকেন্ড) পর এটি অটো-ক্লোজ হয়ে যাবে।


সারাংশ

বুটস্ট্রাপ ৫-এ কাস্টম টোস্ট মেসেজ এবং তার সাথে সংযুক্ত ইভেন্টস ব্যবহার করে আপনি ইন্টারেক্টিভ এবং কাস্টমাইজড মেসেজ প্রদান করতে পারেন, যা ব্যবহারকারীর জন্য আরও অ্যাপ্লিকেশন-ফ্রেন্ডলি এবং ডিজাইন-স্মার্ট হতে সাহায্য করে। show.bs.toast, shown.bs.toast, hide.bs.toast, এবং hidden.bs.toast ইভেন্টগুলো ব্যবহার করে আপনি কাস্টম কার্যকলাপ যোগ করতে পারেন এবং টোস্টকে আরও ইন্টারঅ্যাকটিভ করতে পারেন।

Content added By
Promotion